<?php
namespace app\model\system;

use app\model\BaseModel;

/**
 * 系统日志模型
 */
class Log extends BaseModel
{
    // 设置当前模型对应的完整数据表名称（无需前缀，系统会自动加上配置的前缀）
    protected $name = 'system_logs';

    // 设置主键名
    protected $pk = 'id';

    // 设置字段信息
    protected $schema = [
        'id' => 'int',
        'user_id' => 'int',
        'username' => 'string',
        'action' => 'string',
        'module' => 'string',
        'method' => 'string',
        'params' => 'string',
        'ip' => 'string',
        'user_agent' => 'string',
        'create_time' => 'int', // ThinkPHP8会自动处理为int类型存储
    ];

    // 搜索器
    public function searchModuleAttr($query, $value)
    {
        $query->where('module', 'like', '%' . $value . '%');
    }

    public function searchUsernameAttr($query, $value)
    {
        $query->where('username', 'like', '%' . $value . '%');
    }

    public function searchActionAttr($query, $value)
    {
        $query->where('action', 'like', '%' . $value . '%');
    }

    // 关联用户
    public function user()
    {
        return $this->belongsTo('app\model\admin\User', 'user_id', 'id');
    }
}